VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップが追加されました
何だこのカッコいいマップは
こんにちは、のんピ(@non____97)です。
皆さんはVPC内のリソースを簡単に可視化したいなと思ったことはありますか? 私はあります。
以下記事で紹介している通り、去年VPCの作成ウィザードが大変イケている感じになりました。
このウィザードにより、以下のような情報が分かりやすくなりました。
- VPC内にどのAZがサブネットが作成されるのか
- サブネットにどのルートテーブルと紐づいているのか
- Internet GatewayやNAT Gateway、VPC、S3のGateway型VPCエンドポイントへのルートを持つルートテーブルはどれか
ただし、作成後のVPCでは、こちらのウィザードのようにVPC内のリソースを一目で確認することはできませんでした。
それがなんと、既存のVPCでも確認できるようになっていました。VPCを選択して、Resource map
タブをクリックすると、以下のようなカッコいいマップが表示されます。
一目惚れしました。
どんな情報が確認できるか紹介します。
2023/2/15 追記 : GAされたようです。
いきなりまとめ
- VPC内の以下リソースの関係性を図で確認できる
- サブネット
- ルートテーブル
- Internet Gateway
- NAT Gateway
- Gateway型のVPCエンドポイント
- リソースマップは2023/2/5時点では開発中の機能
表示できる情報を確認
注意書きを見てみる
表示できる情報を確認します。
左下の注意書きを確認すると、以下のような記載がありました。
The new resource map helps you visualize the resources in your VPC. It shows your VPC, subnets, route tables, internet gateways, NAT gateways, and gateway endpoints. Solid lines represent relationships between resources. Dotted lines represent network traffic to route targets.
This feature is under development and may change.
(機械翻訳)
新しいリソースマップは、VPC内のリソースを可視化するのに役立ちます。VPC、サブネット、ルートテーブル、インターネットゲートウェイ、NATゲートウェイ、およびゲートウェイエンドポイントが表示されます。実線はリソース間の関係を表します。点線は、ルートターゲットへのネットワークトラフィックを表します。
この機能は開発中のものであり、変更される可能性があります。
どうやらVPC内の以下情報を確認できるようです。
- サブネット
- ルートテーブル
- Internet Gateway
- NAT Gateway
- Gateway型のVPCエンドポイント
ただ、開発中のようなのでGAするときは確認できる情報が増えているかもしれませんね。
リソースを作成して確認
リソースマップを眺めたところ、ネットワーク接続
となっている箇所に、Internet GatewayやNAT gateway、Gateway Endpointが表示されそうです。
ネットワーク接続
の説明書きには他のネットワークへの接続
と記載があります。
他のネットワークへの接続といえば、VPCピアリングやVGW、Transit Gatewayなどもあると思います。
ということで、こちらのリソースへのルートも表示されるのか確認してみます。
試しにVPCピアリングやVGW、Transit Gatewayのルートを持つVPCを作成します。
これらリソースはAWS CDKで作成します。コードは以下リポジトリに保存しています。
作成されるリソースは以下のとおりです。
- VPC A
- Public Subnet
- Egress Subnet
- Isolated Subnet
- Firewall Subnet
- Tgw Subnet
- Internet Gateway
- NAT Gateway
- VGW
- VPC Peering
- Network Firewall
- Transit Gateway attachment
- VPC B
- Public Subnet
- Isolated Subnet
- Internet Gateway
- VPC Peering
- Transit Gateway attachment
- Transit Gateway
npx cdk deploy
でデプロイ後、リソースマップを確認してみます。
- VPC Aのリソースマップ
-
VPC Bのリソースマップ
ネットワーク接続
にVPCピアリングやVGW、Transit GatewayのIDがないことから、やはり説明書きの通り表示できる情報は限られているようです。
VpcStack/Vpc A/Vpc/PublicSubnet1
というルートテーブルのルートを確認すると、VPCピアリングやVGW、Transit Gatewayへのルートがあることが分かります。
リソースマップ上のリソースをクリックしてみる
VPC
リソースマップに表示されるリソースをクリックして、どんな情報が表示されるのか確認してみます。
まずはVPCです。
VPC
のVPCをクリックすると、VPCのIPv4及び、IPv6のCIDRブロックが表示されました。
サブネット
サブネット
のサブネットをクリックすると、サブネットのIPv4及び、IPv6のCIDRブロックが表示されました。また、サブネットがどのルートテーブルと紐づいているのか、そのルートテーブルはネットワーク接続
のどのリソースへのルートを持っているのかも確認できます。
ルートテーブル
ルートテーブル
のルートテーブルをクリックすると、紐づいているサブネットの数とルートの数が表示されました。また、ルートテーブルがサブネットと紐づいているのか、ルートテーブルはネットワーク接続
のどのリソースへのルートを持っているのかも確認できます。
ネットワーク接続
ネットワーク接続
のリソースをクリックすると、そのリソースへのルートがあるルートテーブルと、そのルートテーブルに紐づいているサブネットを確認できます。
また、Internet Gatewayの場合はInternet Gatewayへルーティングされるサブネットの数を表示してくれます。
NAT Gatewayの場合は、NAT GatewayのENIとElastic IPの数を表示してくれます。
Gateway型のVPCエンドポイントの場合は、どのサービスのエンドポイントなのかを表示してくれます。
と思いきや、Network FirewallのファイアウォールエンドポイントもS3 へのゲートウェイエンドポイント
と表示されちゃっていますね。開発中の機能なので、こんなこともあるでしょう。フィードバックしておきます。
VPC内のリソースの関連性を把握するのに大活躍しそう
VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップを紹介しました。
2023/2/5時点では開発中の機能ですが、VPC内のリソースの関連性を把握するのに大活躍しそうですね。早くGAして欲しいです。
特にNetwork Firewall周りはルーティングが複雑になりがちなので、このように図で表現してくれると助かります。また、NAT Gatewayへの思わぬ抜け道がないかチェックする時にも役立ちそうです。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!